#ifndef EJERCICIO1_H_
#define EJERCICIO1_H_

#include <fstream>
#include <iostream>
#include <sstream>
#include <list>

using namespace std;

class Ejercicio1
{
	public:
	
		//contructores:
		//normal:
		Ejercicio1();
		//destructor:
		~Ejercicio1();
		
		void execute( const string&, const string& );
		
    private:
    
    	class eje
        {  
            public:
                
                eje();
                
                int origen;
                int destino;
                
                eje& operator=( const eje& );
        };
        
   		list<int> quienesPuedenGanar( int, int, Ejercicio1::eje[] );
   		
   		void tarjan
   		(
   			int,
   			Ejercicio1::eje[],
   			list<int>[],
   			bool[],
			bool[],
   			int[],
   			int[],
   			int[],
   			list<int>&, 
   			int&,
   			int&
   		);
};

#endif /*EJERCICIO1_H_*/
